package com.han.template;

/**
 * @ClassName AbstractClass
 * @Description 抽象类（模板方法和基本方法）
 * @Author duoduo Han
 * @Date 2024/6/13 15:32
 */
public abstract class AbstractClass {
    //模板方法定义
    public final void cookProcess() {
        pourOil();
        heatOil();
        pourVegetable();
        pourSauce();
        fry();
    }

    //第一步：倒油
    public void pourOil() {
        System.out.println("倒油(咚咚咚~)");
    }

    //第二步：热油
    public void heatOil() {
        System.out.println("热油(呲~~~~~)");
    }

    //第三步：倒蔬菜
    public abstract void pourVegetable();

    //第四步：倒调味料
    public abstract void pourSauce();

    //第五步：翻炒
    public void fry() {
        System.out.println("抄啊抄啊抄倒熟啊！");
    }

}
